package pl.edu.pk.psb.bc.dao;

import java.util.List;

public interface GenericDao<T> {

	/**
	 * Zapisuje nowy obiekt gdy nie podano id, nadpisuje gdy identyfikator jest podany
	 * @param obiekt - Obiekt do zapisu
	 */
	void zapisz(T obiekt);
	
	Integer dodaj(T obiekt);

	/**
	 * Pobiera obiekt o zadanym identyfikatorze
	 * @param id - identyfikator obiektu
	 * @return Pobrany obiekt
	 */
	T pobierz(Integer id);

	/**
	 * Usuwa zadany obiekt
	 * @param obiekt - obiekt do usuniecia
	 */
	void usun(T obiekt);

	/**
	 * Znajduje wszystkie obiekty
	 * @return Lista wszystkich obiektow danego typu
	 */
	List<T> pobierzWszystkie();

}
